class MindNode {
    //将根节点传进来
    constructor(root) {
        this.parent = null;//当前节点的父节点
        // 根节点的root是其自身
        this.root = root ? root : this;//当前节点的根节点
        this.children = [];//当前节点的孩子节点数组
        /*
         * data中的属性：
         * 1、id：当前节点的id 
         * 2、pathData：path元素的起点，控制点，终点坐标
         * 3、rectX：rect的x坐标
         * 4、rectY：rect的y坐标
         * 5、rectWidth：rect的宽度
         * 6、rectHeight：rect的高度
         * 7、textFontSize：节点文本字体大小
         * 8、text：节点文本
         * 9、flag：节点文本是否发生变化
         * 10、textX：文本的x位置
         * 11、textY：文本的y位置
         * 12、type：节点的类型
         * 
         * 
         * 
        */ 
        
        this.data = {};//当前节点的数据
        /*
         * tempData中的数据：
         * 1、rectEle：rect元素
         * 2、textEle：text元素
         * 3、g：g元素
         * 4、path：path元素
         */
        this.tempData = {};
        // 设置text
        this.setText();
    }

    setText() {
        if (this.root === this) {
            this.data.text = "新建思维导图";
        } else {
            this.data.text = "分支主题";
        }
    }

    // 判断节点是否是根节点
    isRoot() {
        return this.root === this;
    }

    // 判断节点是否是叶子节点
    isLeaf(){
        return this.children.length === 0;
    }   
}